Micron Document
🎖️GitЯра🎖️

Node / meshtastic / Meshtastic-Android / files / .coderabbit.yaml

Displaying Raw • Download

.coderabbit.yaml claude/offline-friendly-rest-apis-982472 (5235bf46) Text, 5.45 KB

T8b949e# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
T8b949e# CodeRabbit config — see https://docs.coderabbit.ai/getting-started/yaml-configuration
Tff7b72languageTb4b4b4: Ta5d6ffen-US

Tff7b72reviewsTb4b4b4:
T8b949e# chill = fewer nitpicks. CI already gates detekt/spotless/tests, and the
T8b949e# maintainers are experienced — we want CodeRabbit for substance, not lint noise.
Tff7b72profileTb4b4b4: Ta5d6ffchill
Tff7b72high_level_summaryTb4b4b4: Ta5d6fftrue
Tff7b72poemTb4b4b4: Ta5d6fffalse
T8b949e# Don't burn reviews on WIP. This repo opens lots of draft PRs; review on "ready".
T8b949e# Skip Renovate dependency updates — CI gates dependencies; we review for substance, not every bump.
Tff7b72auto_reviewTb4b4b4:
Tff7b72enabledTb4b4b4: Ta5d6fftrue
Tff7b72draftsTb4b4b4: Ta5d6fffalse
Tff7b72ignore_usernamesTb4b4b4:
Tb4b4b4- Ta5d6ffrenovate
Tb4b4b4- Ta5d6ffrenovate[bot]
T8b949e# Workflow-authored PRs (changelog updates, scheduled firmware/hardware/
T8b949e# translation bumps) — machine-generated content, nothing to review.
Tb4b4b4- Ta5d6ffgithub-actions
Tb4b4b4- Ta5d6ffgithub-actions[bot]
Tff7b72ignore_title_keywordsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ffchore:Te6edf3 Ta5d6ffScheduledTe6edf3 Ta5d6ffupdatesTa5d6ff"
T8b949e# Stop reviewing once a PR is closed.
Tff7b72abort_on_closeTb4b4b4: Ta5d6fftrue

Tff7b72path_filtersTb4b4b4:
T8b949e# Generated / huge / non-source — don't review, just noise + token burn.
Tb4b4b4- Ta5d6ff"Ta5d6ff!**/build/**Ta5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff!**/*.pngTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff!**/*.webpTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff!**/firmware_releases.jsonTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff!**/emoji-data.jsonTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff!**/flatpak-sources.jsonTa5d6ff"
T8b949e# Crowdin-managed translations — owned upstream, not hand-edited here.
Tb4b4b4- Ta5d6ff"Ta5d6ff!**/values-*/strings.xmlTa5d6ff"
T8b949e# Spec Kit scaffolding — vendored tooling, not hand-maintained here.
Tb4b4b4- Ta5d6ff"Ta5d6ff!.specify/**Ta5d6ff"

Tff7b72path_instructionsTb4b4b4:
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6ff"Ta5d6ff**/commonMain/**Ta5d6ff"
Tff7b72instructionsTb4b4b4: Tb4b4b4>
Tff7b72KMP common code. Flag any import of java.* or android.* — these break non-Android targets. Expect KMP equivalents instead (Okio, kotlinx Mutex/atomicfu, NumberFormatter.format() for floats).
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6ff"Ta5d6ff**/*.ktTa5d6ff"
Tff7b72instructionsTb4b4b4: Tb4b4b4>
Tff7b72Flag leftover // ... existing code ... placeholders, and any logging of PII, location, or cryptographic keys.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6ff"Ta5d6ff**/src/**/strings.xmlTa5d6ff"
Tff7b72instructionsTb4b4b4: Tb4b4b4>
Tff7b72New string resources must be alphabetically sorted (scripts/sort-strings.py). Flag out-of-order additions.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6ffbaselineprofile/
Tff7b72instructionsTb4b4b4: Ta5d6ffKeepTa5d6ff Ta5d6ffbaselineTa5d6ff Ta5d6ffprofileTa5d6ff Ta5d6ffgenerationTa5d6ff Ta5d6fftiedTa5d6ff Ta5d6fftoTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ff`google`Ta5d6ff Ta5d6ffflavorTa5d6ff Ta5d6ffandTa5d6ff Ta5d6ffconnectedTa5d6ff Ta5d6ffdevices/emulators,Ta5d6ff Ta5d6ffandTa5d6ff Ta5d6ffcommitTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffgeneratedTa5d6ff Ta5d6ffprofileTa5d6ff Ta5d6ffoutputTa5d6ff Ta5d6fftoTa5d6ff Ta5d6ff`androidApp/src/google/generated/baselineProfiles/baseline-prof.txt`.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6ffdocs/
Tff7b72instructionsTb4b4b4: Ta5d6ffTreatTa5d6ff Ta5d6ffnon-EnglishTa5d6ff Ta5d6fflocaleTa5d6ff Ta5d6fffoldersTa5d6ff Ta5d6ffasTa5d6ff Ta5d6ffCrowdin-managedTa5d6ff Ta5d6ffoutput;Ta5d6ff Ta5d6ffeditTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffEnglishTa5d6ff Ta5d6ffsourcesTa5d6ff Ta5d6ffunderTa5d6ff Ta5d6ff`docs/en/`Ta5d6ff Ta5d6ffandTa5d6ff Ta5d6ffregisterTa5d6ff Ta5d6ffnewTa5d6ff Ta5d6ffpagesTa5d6ff Ta5d6ffthroughTa5d6ff Ta5d6ff`feature/docs/`Ta5d6ff Ta5d6ffinsteadTa5d6ff Ta5d6ffofTa5d6ff Ta5d6ffhand-editingTa5d6ff Ta5d6fftranslatedTa5d6ff Ta5d6fflocaleTa5d6ff Ta5d6ffdirectories.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6ffscreenshot-tests/
Tff7b72instructionsTb4b4b4: Ta5d6ffWhenTa5d6ff Ta5d6ffupdatingTa5d6ff Ta5d6ffdocsTa5d6ff Ta5d6ffscreenshots,Ta5d6ff Ta5d6ffkeepTa5d6ff Ta5d6ff`docs-screenshots-manifest.txt`Ta5d6ff Ta5d6ffandTa5d6ff Ta5d6ff`docs-screenshot-aliases.properties`Ta5d6ff Ta5d6ffinTa5d6ff Ta5d6ffsyncTa5d6ff Ta5d6ffwithTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffgeneratedTa5d6ff Ta5d6fffiles,Ta5d6ff Ta5d6ffandTa5d6ff Ta5d6ffrerunTa5d6ff Ta5d6ff`copyDocsScreenshots`Ta5d6ff Ta5d6ffafterTa5d6ff Ta5d6ffregeneratingTa5d6ff Ta5d6ffscreenshots.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6ffdocs-screenshots/
Tff7b72instructionsTb4b4b4: Ta5d6ffKeepTa5d6ff Ta5d6ffthisTa5d6ff Ta5d6ffmoduleTa5d6ff Ta5d6ffgenerate-onlyTa5d6ff Ta5d6ffforTa5d6ff Ta5d6ffdocumentationTa5d6ff Ta5d6ffscreenshots;Ta5d6ff Ta5d6ffdoTa5d6ff Ta5d6ffnotTa5d6ff Ta5d6ffaddTa5d6ff Ta5d6ffitTa5d6ff Ta5d6fftoTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffCITa5d6ff Ta5d6ffvalidationTa5d6ff Ta5d6ffgateTa5d6ff Ta5d6ffthatTa5d6ff Ta5d6ffisTa5d6ff Ta5d6ffreservedTa5d6ff Ta5d6ffforTa5d6ff Ta5d6ff`screenshot-tests`.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6ffdesktopApp/
Tff7b72instructionsTb4b4b4: Ta5d6ffKeepTa5d6ff Ta5d6ffdesktopTa5d6ff Ta5d6ffreleaseTa5d6ff Ta5d6ffProGuardTa5d6ff Ta5d6ffrulesTa5d6ff Ta5d6ffalignedTa5d6ff Ta5d6ffwithTa5d6ff Ta5d6ff`androidApp/proguard-rules.pro`,Ta5d6ff Ta5d6ffandTa5d6ff Ta5d6ffpreserveTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffdesktop-specificTa5d6ff Ta5d6ffruntimeTa5d6ff Ta5d6ffwiringTa5d6ff Ta5d6ffneededTa5d6ff Ta5d6ffforTa5d6ff Ta5d6ff`Dispatchers.Main`Ta5d6ff Ta5d6ffonTa5d6ff Ta5d6ffJVM.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6ffandroidApp/
Tff7b72instructionsTb4b4b4: Ta5d6ffKeepTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffAndroidTa5d6ff Ta5d6ffapp’sTa5d6ff Ta5d6ff`MeshService`Ta5d6ff Ta5d6ffdeclarationTa5d6ff Ta5d6ffandTa5d6ff Ta5d6ffmanifestTa5d6ff Ta5d6ffwiringTa5d6ff Ta5d6ffinTa5d6ff Ta5d6ffsyncTa5d6ff Ta5d6ffwithTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffimplementationTa5d6ff Ta5d6ffthatTa5d6ff Ta5d6fflivesTa5d6ff Ta5d6ffinTa5d6ff Ta5d6ff`core:service`.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6ffcore/service/
Tff7b72instructionsTb4b4b4: Ta5d6ffKeepTa5d6ff Ta5d6ff`RadioControllerImpl`Ta5d6ff Ta5d6ffcomposedTa5d6ff Ta5d6fffromTa5d6ff Ta5d6ffitsTa5d6ff Ta5d6ffsub-controllersTa5d6ff Ta5d6ffviaTa5d6ff Ta5d6ffinterfaceTa5d6ff Ta5d6ffdelegation;Ta5d6ff Ta5d6ffadminTa5d6ff Ta5d6ffsendsTa5d6ff Ta5d6ffareTa5d6ff Ta5d6fffire-and-forget,Ta5d6ff Ta5d6ffandTa5d6ff Ta5d6ffanyTa5d6ff Ta5d6ffconfigTa5d6ff Ta5d6ffmutationTa5d6ff Ta5d6ffmustTa5d6ff Ta5d6ffgoTa5d6ff Ta5d6ffthroughTa5d6ff Ta5d6ff`editSettingsTa5d6ff Ta5d6ff{Ta5d6ff Ta5d6ff}`Ta5d6ff Ta5d6fftransactions.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6fffeature/docs/
Tff7b72instructionsTb4b4b4: Ta5d6ffTreatTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffComposeTa5d6ff Ta5d6ffresourcesTa5d6ff Ta5d6ffunderTa5d6ff Ta5d6ff`src/commonMain/composeResources/files/`Ta5d6ff Ta5d6ffasTa5d6ff Ta5d6ffgeneratedTa5d6ff Ta5d6ffoutputTa5d6ff Ta5d6fffromTa5d6ff Ta5d6ff`/docs/en/**`Ta5d6ff Ta5d6ffandTa5d6ff Ta5d6fftranslatedTa5d6ff Ta5d6ffdocsTa5d6ff Ta5d6ffsyncTa5d6ff Ta5d6fftasks;Ta5d6ff Ta5d6ffdoTa5d6ff Ta5d6ffnotTa5d6ff Ta5d6ffhand-editTa5d6ff Ta5d6ffthoseTa5d6ff Ta5d6ffcopiedTa5d6ff Ta5d6fffiles.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6fffeature/map/
Tff7b72instructionsTb4b4b4: Ta5d6ffRouteTa5d6ff Ta5d6ffmapTa5d6ff Ta5d6ffaccessTa5d6ff Ta5d6ffthroughTa5d6ff Ta5d6fftheTa5d6ff Ta5d6ffinjectedTa5d6ff Ta5d6ff`CompositionLocal`Ta5d6ff Ta5d6ffproviderTa5d6ff Ta5d6ffcontracts;Ta5d6ff Ta5d6ffdoTa5d6ff Ta5d6ffnotTa5d6ff Ta5d6ffdependTa5d6ff Ta5d6ffdirectlyTa5d6ff Ta5d6ffonTa5d6ff Ta5d6ffGoogleTa5d6ff Ta5d6ffMapsTa5d6ff Ta5d6fforTa5d6ff Ta5d6ffosmdroidTa5d6ff Ta5d6fffromTa5d6ff Ta5d6fffeatureTa5d6ff Ta5d6ffcode.
Tb4b4b4- Tff7b72pathTb4b4b4: Ta5d6fffeature/car/
Tff7b72instructionsTb4b4b4: Ta5d6ffRunTa5d6ff Ta5d6ffunitTa5d6ff Ta5d6fftestsTa5d6ff Ta5d6ffwithTa5d6ff Ta5d6ff`./gradlewTa5d6ff Ta5d6ff:feature:car:testGoogleDebugUnitTest`,Ta5d6ff Ta5d6ffandTa5d6ff Ta5d6ffkeepTa5d6ff Ta5d6ffRobolectricTa5d6ff Ta5d6ffpinnedTa5d6ff Ta5d6fftoTa5d6ff Ta5d6ffSDKTa5d6ff Ta5d6ff36Ta5d6ff Ta5d6ffforTa5d6ff Ta5d6ffthisTa5d6ff Ta5d6ffmodule.

T8b949e# CI is the source of truth for detekt + spotless (Zero Lint Tolerance gate),
T8b949e# so disable detekt here to avoid duplicate comments. Keep the security/CI/shell
T8b949e# scanners CI doesn't run inline.
Tff7b72toolsTb4b4b4:
Tff7b72detektTb4b4b4:
Tff7b72enabledTb4b4b4: Ta5d6fffalse
Tff7b72gitleaksTb4b4b4:
Tff7b72enabledTb4b4b4: Ta5d6fftrue
Tff7b72shellcheckTb4b4b4:
Tff7b72enabledTb4b4b4: Ta5d6fftrue
Tff7b72actionlintTb4b4b4:
Tff7b72enabledTb4b4b4: Ta5d6fftrue

T8b949e# Auto-generated docstrings/tests/autofix are noisy for a repo with strict
T8b949e# human-authored KDoc and KMP-aware tests; leave finishing touches off.
Tff7b72finishing_touchesTb4b4b4:
Tff7b72docstringsTb4b4b4:
Tff7b72enabledTb4b4b4: Ta5d6fffalse
Tff7b72unit_testsTb4b4b4:
Tff7b72enabledTb4b4b4: Ta5d6fffalse

T8b949e# No KDoc-coverage mandate in this repo; the default warning-at-80% check
T8b949e# would nag every PR.
Tff7b72pre_merge_checksTb4b4b4:
Tff7b72docstringsTb4b4b4:
Tff7b72modeTb4b4b4: Ta5d6ff"Ta5d6ffoffTa5d6ff"

Tff7b72knowledge_baseTb4b4b4:
T8b949e# Feed CodeRabbit the same guidance human/AI contributors follow, including
T8b949e# the repo-specific .skills/ modules and Copilot path instructions it
T8b949e# wouldn't pick up by default.
Tff7b72code_guidelinesTb4b4b4:
Tff7b72enabledTb4b4b4: Ta5d6fftrue
Tff7b72filePatternsTb4b4b4:
Tb4b4b4- Ta5d6ff"Ta5d6ffAGENTS.mdTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ffCLAUDE.mdTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff.skills/**/SKILL.mdTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff.github/copilot-instructions.mdTa5d6ff"
Tb4b4b4- Ta5d6ff"Ta5d6ff.github/instructions/*.instructions.mdTa5d6ff"

Served by rngit 1.5.2 - Generated in 0.06s